#include "stdint.h"

/**
 * AVX2优化的2D卷积函数（最终完整版本）
 * @param dst        输出图像数据（内存布局：dst_stride行距）
 * @param src        输入图像数据（内存布局：src_stride行距）
 * @param width      图像宽度（像素）
 * @param height     图像高度（像素）
 * @param kernel     3x3卷积核
 * @param src_stride 输入图像行距（float数）
 * @param dst_stride 输出图像行距（float数）
 *
 * 优化特性：
 * 1. 行数据复用：prev_row复用上一轮的curr_row
 * 2. 滑动窗口：通过跨通道位移减少内存加载
 * 3. 智能预取：按缓存行预取数据
 * 4. 边界保护：安全加载防止越界
 */
void filter2D_avx2_final_optimized(float* dst,
                                   const float* src,
                                   int width,
                                   int height,
                                   const float (&kernel)[3][3],
                                   int src_stride,
                                   int dst_stride);
